package com.superman.router


fun main() {
    val string = KRouter.getInstanceBy2Params(
        TestInterface::class,
        String::class,
        NiHao::class
    )?.construct("inha", NiHao())?.getString()
    println(string)

    val stringNoParam = KRouter.getInstanceBy(TestInterface::class)?.get()?.getString()
    println(stringNoParam)
}

class NiHao {
    fun Foo() {}
}

interface TestInterface {
    fun getString(): String
}

@RouteClassName
class ImplTestInterface(val a: String, val b: NiHao) : TestInterface {
    override fun getString(): String {
        return "I am from ImplTestInterface!"
    }

}